"""
编程题2
"""
import re
def reg_search(text, regex_list):
    results = []
    
    patterns = {
        '标的证券': r'股票代码：\s*([A-Z0-9]+\.[A-Z]+)',
        '换股期限': r'(\d{4})\s*年\s*(\d{1,2})\s*月\s*(\d{1,2})\s*日'
    }
    
    for item in regex_list:
        result = {}
        for key, pattern in item.items():
            if pattern == '*自定义*' and key in patterns:
                matches = re.findall(patterns[key], text)
                if matches:
                    if key == '标的证券':
                        result[key] = matches[0][0] if isinstance(matches[0], tuple) else matches[0]
                    elif key == '换股期限':
                        dates = [f"{y}-{int(m):02d}-{int(d):02d}" for y, m, d in matches]
                        result[key] = [dates[0], dates[-1]] if len(dates) >= 2 else dates
        if result:
            results.append(result)
    
    return results

text = '''
标的证券：本期发行的证券为可交换为发行人所持中国长江电力股份
有限公司股票（股票代码：600900.SH，股票简称：长江电力）的可交换公司债
券。
换股期限：本期可交换公司债券换股期限自可交换公司债券发行结束
之日满 12 个月后的第一个交易日起至可交换债券到期日止，即 2023 年 6 月 2
日至 2027 年 6 月 1 日止。
'''

regex_list = [{
    '标的证券': '*自定义*',
    '换股期限': '*自定义*'
}]

print(reg_search(text, regex_list))